A method of creating a fillet curved surface at the position where two free-form surfaces are joined together is disclosed in, for example, Japanese Patent Laid-open Publication Nos. 63-91705 and 63-129403.
On the other hand, in general, curved surface or NC data for cutting a free-form surface of a mold or the like is ordinarily, automatically prepared by a CAD/CAM system of, for example, an automatic programming apparatus. To this end, first, information on curved surfaces and then, information for cutting the same, must be applied to the system in the form of corresponding programming languages.
In this case, when a target free-form surface is a compound curved surface consisting of a plurality of curved surfaces, and when a fillet curved surface having a predetermined radius of curvature is required to be created for rounding machining at the boundary where one curved surface intersects another curved surface, the system must be loaded with the curved surface information, the cutting information, and fillet information for specifying the boundary to create the fillet and the radius of the arc to be inserted. As is clear from FIG. 3, however, four boundaries ((1) to (4) in the figure) can be considered to exist where one curved surface (first curved surface SS1) intersects another curved surface (second curved surface SS2). Therefore, by merely defining a boundary as the boundary formed between one curved surface and another curved surface, a particular boundary cannot be identified or specified. Further, the position for the insertion of the fillet cannot be specified. For this reason, an operator must designate any one particular boundary out of a plurality of boundaries, as the position to create the fillet. This one boundary will then be input to the system.
A typical conventional method of creating the fillet curved surface comprises the step of determining the vertical relationship (represented by z axis coordinate) between two curved surfaces, for defining the shift of a cutting path from one curved surface to another, is determined. Next, a radius of curvature of the fillet to be inserted into the space between the two curved surfaces for defining the shift of cutting path from one curved surface to another curved surface, is specified. As a result a compound curved surface, including a fillet curved surface, is able to be formed. More specifically, to shift the cutting path from a first curved surface to a second curved surface, parameters are used to specify whether the cutting path is to advance to the second curved surface lying above the first curved surface or, alternatively, to the second curved surface lying below the first curved surface. For example, with a parameter A, the cutting path is allowed to shift from the first curved surface to the second curved surface having the greater Z-axis coordinate value. With a parameter B, the cutting path is allowed to shift from the first curved surface to the second curved surface having the lesser Z-axis coordinate value. In addition to these parameters, however, a radius of the fillet curved surface should also be specified for transitioning from the one curved surface to the other curved surface.
These curved surfaces maybe, however, be arbitrarily defined in an XYZ rectangular coordinate system; hence it may be impossible to specify a particular boundary between the two curved surfaces by only a data change in the Z-coordinate values, depending on the manner in which the compound curved surface is defined.
Moreover, when the target compound curved surface is side cut machined causing the locus of the tool end is located on the same XY plane, no change in Z-axis coordinate values will be exhibited when the cutting path shifts from one curved surface to another curved surface. In such a case, specifying a particular boundary between the two surfaces by the above-described conventional method is impossible.
As described above, when producing NC data for creating a free-form surface, which includes a fillet curved surface, by using automatic programming apparatus, produced data may be useless, depending on the manner of defining a target curved surface, if the position to create the fillet is specified using a programming language by the conventional method.